package org.cskt.sl.ebank.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.cskt.sl.ebank.entity.CommonExample;
import org.cskt.sl.ebank.entity.WithDraw;
import org.cskt.sl.ebank.entity.WithDrawExample;

/**
 * 提现记录 mapper
 * @author guddqs
 *
 */
public interface WithDrawMapper {
	
	/**
	 * 根据条件统计提现详细记录行数
	 * @param example 条件对象
	 * @return 影响行数
	 */
    int countByExample(CommonExample example);

    /**
     * 根据 条件 批量删除 提现详细
     * @param example
     * @return 影响行数
     */
    int deleteByExample(WithDrawExample example);

    /**
     * 根据主键 删除 提现详细
     * @param baid
     * @return 影响行数
     */
    int deleteByPrimaryKey(Integer wid);

    /**
     * 插入一条基本用户提现详细(完全插入)
     * @param record  提现详细对象
     * @return 影响行数
     */
    int insert(WithDraw record);

    /**
     * 插入一条基本用户提现详细(根据非空动态插入)
     * @param record 提现详细对象
     * @return 影响行数
     */
    int insertSelective(WithDraw record);

    /**
     * 根据条件和分页参数 查询 提现详细结果集
     * @param example 条件对象
     * @param firstResult 开始行数
     * @param maxResult 单页总条数
     * @return 分页后的 提现详细 结果集
     */
    List<WithDraw> selectByExample(@Param("example")CommonExample example,@Param("first")int firstResult, @Param("max")int maxResult);

    /**
     * 根据 主键 获取单条提现详细详情
     * @param baid 
     * @return 提现详细对象
     */
    WithDraw selectByPrimaryKey(Integer wid);

    /**
     * 根据 条件 批量修改 提现详细(根据记录字段非空动态更新)
     * @param record 提现详细对象
     * @param example 条件对象
     * @return 影响行数
     */
    int updateByExampleSelective(@Param("record") WithDraw record, @Param("example") WithDrawExample example);

    /**
     * 根据 条件 批量修改 提现详细(完全更新)
     * @param record 提现详细对象
     * @param example  条件对象
     * @return 影响行数
     */
    int updateByExample(@Param("record") WithDraw record, @Param("example") WithDrawExample example);

    /**
     * 根据 主键 修改 提现详细(根据记录字段非空动态更新)
     * @param record 提现详细对象
     * @return  影响行数
     */
    int updateByPrimaryKeySelective(WithDraw record);

    /**
     * 根据 主键 修改 提现详细(完全更新)
     * @param record 提现详细对象
     * @return  影响行数
     */
    int updateByPrimaryKey(WithDraw record);
    
}
